/**
 * @file .
 * @author wangxiaowei0303@163.com
 */

#ifndef org_wxw0303_bishe_src_Filter_ContraharmonicMeanFilter_h_
#define org_wxw0303_bishe_src_Filter_ContraharmonicMeanFilter_h_

#include "Filter.h"

class ContraharmonicMeanFilter: public Filter {
public:
    inline 
    ContraharmonicMeanFilter();

    virtual void
    help(std::string &buf) const;

    virtual void
    set(const char *argname,const char *argval);

    virtual const char*
    get(const char *argname,std::string &buf) const;
    
    virtual void
    getSupportedArgs(std::vector<std::string> &arglist) const;

protected:    
    virtual double
    operOnNeigh(const cv::Mat &neighbor);

protected:
    double q;
};

inline
ContraharmonicMeanFilter::ContraharmonicMeanFilter():
    Filter()
{
    q = -1.5;
}


#endif /* org_wxw0303_bishe_src_Filter_ContraharmonicMeanFilter_h_ */

